/* SPDX-License-Identifier: GPL-2.0 */

#ifndef _UAPI_LINUX_SMC_H_
#define _UAPI_LINUX_SMC_H_

/*
 * ioctl calls that are permitted to the /dev/smc interface, if
 * any of the SMC drivers are enabled.
 */

/* Read fsm start status */
#define SMC_RD_START_STATUS		_IOR('z', 0x02, int)
/* Read block error detect code type */
#define SMC_RD_BLOCK_EDC_TYPE		_IOR('z', 0x03, int)
/* Set block error detect code type */
#define SMC_SET_BLOCK_EDC_TYPE		_IOW('z', 0x04, int)
/* Read CLK source */
#define SMC_RD_STOP_CLK_EN		_IOR('z', 0x05, int)
/* Set CLK source */
#define SMC_SET_STOP_CLK_EN		_IOW('z', 0x06, int)
/* Read transfer mode */
#define SMC_RD_TRAN_MODE		_IOR('z', 0x07, int)
/* Set transfer mode */
#define SMC_SET_TRAN_MODE		_IOW('z', 0x08, int)
/* Read SMC special operation */
#define SMC_RD_SPECAIL_OPERATION	_IOR('z', 0x09, int)
/* Set SMC special operation */
#define SMC_SET_SPECAIL_OPERATION	_IOW('z', 0x0a, int)

#define SMC_IRQP_READ	_IOR('z', 0x0b, unsigned long)	 /* Read IRQ rate */
#define SMC_IRQP_SET	_IOW('z', 0x0c, unsigned long)	 /* Set IRQ rate  */
#define SMC_EPOCH_READ	_IOR('z', 0x0d, unsigned long)	 /* Read epoch    */
#define SMC_EPOCH_SET	_IOW('z', 0x0e, unsigned long)	 /* Set epoch     */


#endif
